草庐IT

c++ - Bool 始终评估为真

全部标签

javascript - 在 Javascript 中将复杂的字符串表达式解析为 bool 值

我的任务是为复杂的嵌套JSON编写过滤器。为此,我需要评估用户在输入字段中输入的bool表达式。为了这个问题,假设我们得到了以下输入:(Key1="foo"||key2=2&&key3="bar")&&key4=7我设法编写了一个函数来将每个键值对评估为“真”或“假”,并将它们替换为字符串:例如:(True||False&&True)&&True现在我想将这个字符串解析为一个bool表达式。Javascript是否有任何“简单”的方法(内置函数、插件)可以解析此字符串? 最佳答案 通常不建议使用eval(),但也许适合您的情况。更多

javascript - typescript 字符串到 bool 值

我正在尝试将字符串转换为bool值。有几种方法可以做到一种方法是letinput="true";letboolVar=(input==='true');这里的问题是我必须验证输入是真还是假。有没有更优雅的方式,而不是首先验证输入然后进行转换?在.NET中,我们有bool.TryParse如果字符串无效则返回false。typescript中是否有任何等价物? 最佳答案 你可以做这样的事情,你可以有三个状态。undefined表示该字符串不可解析为bool值:functionconvertToBoolean(input:string)

javascript - 检查多个函数是否为真,然后做一些事情

我坚持我认为是一个简单的PEBCAK错误。在我提交表格之前,我试图验证我的所有功能都是真实的,但我无法确定我的生活出了什么问题。下面是我的javascript代码:functionchecknewaccount(){if(emailvalid()&&checkname()&&passwordcheck()){returntrue;}else{returnfalse;}}functionemailvalid(){if(emailcondition){returntrue;}else{returnfalse;}}functioncheckname()){if(namecondition){

javascript - 当一个是 bool 值时,为什么 JavaScript 在 == 运算符比较中将原始值转换为数字的基本原理?

我知道规则:Ifthetwooperandsarenotofthesametype,JavaScriptconvertstheoperandsthenappliesstrictcomparison.Ifeitheroperandisanumberoraboolean,theoperandsareconvertedtonumbersifpossible;elseifeitheroperandisastring,theotheroperandisconvertedtoastringifpossible.所以,if("true")通过但if("true"==true)失败,因为它的句柄类似于

javascript - 为什么 `[] == false` 为真但只有 `[]` 计算为真?

这个问题在这里已经有了答案:Whyif([])isvalidatedwhile[]==falseinjavascript?(3个答案)关闭8年前。以下按预期打印“A”,因为数据类型不同,所以数组被诱导为原始形式,对于空数组为false。if([]==false)console.log('A');elseconsole.log('B');但是为什么下面的代码也打印'A'?if([])console.log('A');elseconsole.log('B');

Javascript: <script src=jquery...只有当条件为真时

我正在使用javascript进行开发,并且只想在验证条件时插入脚本。例如:vara=exampleVariable;if(a==conditionIwant){//appendtohead:};//orsomethinglikethis如何仅在条件为真时插入jquery.js? 最佳答案 这真的很简单:if(somethingIsTrue){varsc=document.createElement('script');sc.src='http://code.jquery.com/jquery-1.5.js';sc.type='te

javascript - 如何创建一个事件监听器来检测 bool 变量是否变为真?

例如,我有varmenu_ready=false;。我有一个ajax函数,它在ajax完成后将menu_ready设置为true://setupeventlistenerhere$(...).load(...,function(){...menu_ready=true;}如何设置等待menu_ready为真的事件监听器? 最佳答案 您不能将事件监听器附加到JavaScript变量本身,但您可以伪造它。使用具有get、set和listen方法的对象,而不是bool变量:functionBool(initialValue){varboo

javascript - 为什么 "0 === -0"在 JavaScript 中为真?

在最近关于http://wtfjs.com/的帖子中.一位作者在没有解释的情况下写了以下内容,这恰好是真的。0===-0//returnstrue我对===运算符的理解是,如果操作数指向同一个对象,它会返回true。此外,-运算符返回对操作数负值的引用。使用此规则,0和-0不应相同。那么,为什么0===-0? 最佳答案 ===并不总是意味着指向同一个对象。它在对象上执行,但在值类型上,它比较值。因此这是如何工作的:varx=0;vary=0;varisTrue=(x===y);document.write(isTrue);//tru

javascript - promise 解决后 typescript 返回 bool 值

我试图在promise解决后返回一个bool值,但typescript给出了一个错误说“get”访问器必须返回一个值。我的代码看起来像。gettokenValid():boolean{//Checkifcurrenttimeispastaccesstoken'sexpirationthis.storage.get('expires_at').then((expiresAt)=>{returnDate.now(){returnfalse});}此代码用于Ionic3应用程序,存储是IonicStorage实例。 最佳答案 您可以返回解

javascript - 为什么这个表达式在 JavaScript 中被评估为 "a"?

这个问题在这里已经有了答案:Whyandhowdoes([![]]+[][[]])[+!+[]+[+[]]]evaluatetotheletter"i"?[duplicate](2个答案)关闭5年前。我得到了一些混淆的JavaScript代码。我试图理解它,然后在控制台中输入了一些片段。我不明白为什么>((!!+[]+"")[+!![]])为什么((!!+[]+"")[+!![]])在JavaScript中等于"a"?是否有其他代码片段可以获取其他字母?我想这与自动转换有关。